package mi.payment.constants;

import mi.payment.BuildConfig;


public class Configs extends BaseConfigs {

    public static final String TAG = "Alliance";

    private static final Configs instance = new Configs();

    public static Configs getInstance() {
        return instance;
    }

    public static String API_HOST;
    public static boolean IS_ENCRYPTED;
    public static String DELIVER_KEY;
    public static String DES_VI;
    public static String DES_KEY;

    static {
        switch (BuildConfig.BUILD_TYPE) {
            case "debug":
                defaultGenNode = "112233445566778899AAB" + "BCC" + "DDE" + "EFF03";
                defaultTPdu = "6002630000";
                defaultIPAddress = "180.87.156.178";
                defaultPort = "12000";


                break;

            case "release":
                defaultGenNode = "26743169C4C16784141DCF127CC" + "EC76D";
                break;
        }
    }


    public static boolean isEditMerchantInfo = true;        // 配置 - 是否可以编辑商户信息
    public static boolean isNeedSafeCode = true;            // 配置 - 是否需要安全码验证
    public static boolean isConfigKeyboardDot = true;       // 配置 - 键盘配置小数点
    public static boolean isClosePreAuth = false;           // 配置 - 是否关闭预授权整个模块

    public static boolean isRevokeTradeCheckCardNo = true;  // 反向交易是否检查卡号的开关

    public static boolean isRevokeTradeSearchOrder = true;  // 撤销 - 是否打开按凭证号搜索的功能

    public static boolean isRefundSupportQRCode = true;     // 退货 - 是否支持二维码退货功能
    public static boolean isRefundMergeQRCode = false;      // 退货 - 是否合并二维码
    public static boolean isRefundSupportAli = true;        // 退货 - 是否支持支付宝
    public static boolean isRefundSupportWeChat = true;     // 退货 - 是否支持微信
    public static boolean isRefundSupportUnion = true;      // 退货 - 是否支持银联
    public static boolean isRefundInputOriginalDate = true;     // 退货 - 二维码退货是否输入原交易日期
    public static boolean isRefundInputOriginalAmount = true;   // 退货 - 二维码退货是否输入原交易金额


    public static String defaultGenNode;
    public static String defaultTPdu;
    public static String defaultIPAddress;
    public static String defaultPort;
    public static String defaultSpareIPAddress;
    public static String defaultSparePort;
    public static String defaultSafeCode = "123456";            // 默认数据 -- 安全码
    public static String defaultAdminPassword = "12345678";    // 默认数据 -- 管理员默认密码

    private boolean HIDE_NON_PARAMETER_DOWNLOAD = false;
    //    String BUILD_TIME = buildTime();先注释掉
    // 盛付通
    private String TPDU = "6000030000";//tpdu
    private String HOST_IP_ADDRESS = "211.147.71.149";//IP地址
    private String HOST_POST = "7001";//端口
    private String SPARE_HOST_IP_ADDRESS = "120.136.128.140";//备份服务器IP地址
    private String SPARE_HOST_PORT = "7001";//备份服务器端口
    private String THIRD_SERVER_IP_ADDRESS = "211.147.71.149";//参数服务器IP地址
    private String THIRD_SERVER_PORT = "7005";//参数服务器端口

    private String THIRD_SERVER_IP_ADDRESS_BACKUP = "";//扫码支付备份服务器IP地址
    private String THIRD_SERVER_PORT_BACKUP = "";//扫码支付备份服务器端口

    private boolean AUTO_SWITCH_IP = true;//当连接主IP超时是否自动跳转到备用IP
    private boolean USE_BACKUP_IP = false;//是否使用备用IP 默认false

    private String BASE_URL = "";//Http生产环境的URL
    // 配置是否支持 支付宝的 1.主扫、2.被扫、3.撤销、4.退货
    private String ALIPAY_CONFIG = "1234";
    private String WECHAT_CONFIG = "1234";
    // 配置是否支持 微信的 1.主扫、2.被扫、3.撤销、4.退货
    private boolean SUPPORT_THIRD_HOST = true;// 是否使用第三服务器IP
    private String ADMIN_DEFAULT_PASSWORD = "12345678";//管理员默认密码
    private String ACQUIRER_DEFAULT_PRINT = "48200000";//收单机构默认打印
    private String MERCHANT_DEFAULT_ENGLISH_NAME = "ShengPay";//商户默认英文名
    private boolean QUERY_LAST_TRANSACTION = true;//是否有查询末笔交易
    private boolean CONSUMPTION_REVOCATION_INPUT_PASSWORD = true;//消费撤销
    private boolean PRE_AUTH_REVOCATION_INPUT_PASSWORD = true;//预授权撤销
    //预授权完成撤销
    private boolean PRE_AUTH_COMPLETE_REVOCATION_INPUT_PASSWORD = true;
    private boolean PRE_AUTH_COMPLETE_INPUT_PASSWORD = true;//预授权完成（请求）
    private boolean SETTLEMENT_AUTOMATIC_RETURN = true;//结算后自动签退
    private long MAX_RETURN_AMOUNT = 1000000;//最大退货金额
    private String SERIAL_NUM = "000001";//SERIAL_NUM//当前流水号
    private String BATCHNUM_START = "000001";//BATCHNUM_START//当前批次号
    //ACQUIRING_BANK_PRINT_CHINESE//收单行打印中文
    private boolean ACQUIRING_BANK_PRINT_CHINESE = false;
    //ISSUING_BANK_PRINT_CHINESE//发卡行打印中文
    private boolean ISSUING_BANK_PRINT_CHINESE = true;
    //PRINT_RECEIPT_SINGLE_NUM//打印张数设置（1-3）
    private String PRINT_RECEIPT_SINGLE_NUM = "2";
    //SALES_SLIP_PRINT_ENGLISH//签购单是否打印英文
    private boolean SALES_SLIP_PRINT_ENGLISH = true;
    private int CORRECT_FREQUENCY = 3;//CORRECT_FREQUENCY//冲正发送次数（1-3）
    private int MAX_TRANSACTION_NUMBER = 500;
    //MAX_TRANSACTION_NUMBER//最大交易笔数
    //NON_CONNECTION非接交易通道开关	0联机借贷记交易优先  1电子现金交易优先
    private int NON_CONNECTION = 0;
    private boolean PRINT_NEGATIVE = true;//PRINT_NEGATIVE//撤销交易打印负号
    //SHIELD_AUTHORIZATION_CARD是否屏蔽预授权卡号
    private boolean SHIELD_AUTHORIZATION_CARD = false;
    //INPUT_DIRECTOR_PWD"撤销退货类交易是否输入主管密码"
    private boolean INPUT_DIRECTOR_PWD = true;
    private boolean HIDE_MASTER_POS_INPUT_KEY = true;// 隐藏母POS导入密钥
    private boolean HIDE_CLEAR_SCRIPT_DATA = true;//隐藏清除脚本数据
    private boolean HIDE_BLACKLIST_DATA = true;//隐藏黑名单数据
    private boolean HIDE_SET_DES_ALGORITHM = true;//隐藏设置DES算法
    private boolean HIDE_PRE_AUTHORIZATION_NOTICE = true;//隐藏预授权完成（通知）
    private boolean HIDE_PARAMETER_SERVER = false;//隐藏参数服务器
    private boolean HIDE_PARAMETER_SERVER_PORT = false;//隐藏参数服务器端口
    private String KEK = "26743169C4C16784141DCF127CCEC76D";
    ;//生产坏境KEK
    private boolean INIT_SAVE_KEK = true;//;初始化商户前是否要保存KEK
    private boolean CLOSE_PRE_AUTH = false;//是否关闭预授权整个模块
    private boolean CLOSE_REVOCATION = false;//是否关闭消费撤销整个模块
    private boolean PARAMS_INIT_MACHINE = true;//签到前是否向POSP请求初始化机具
    private boolean PARAMS_INIT_TMK_DOWNLOAD = true;//签到前是否下载主密钥
    private boolean PARAMS_INIT_TP_DOWNLOAD = true;//签到前是否下载终端参数
    private boolean PARAMS_INIT_STATE_UPLOAD = false;//签到前是否上送终端状态
    private boolean PARAMS_INIT_AID_DOWNLOAD = true;//签到前是否下载AID
    private boolean PARAMS_INIT_CAPK_DOWNLOAD = true;//签到前是否下载RID
    private String SERVICE_HOT_LINE = "400-720-8888";//默认服务热线
    private boolean HIDE_HOT_LINE = false;//隐藏主界面下面的热线
    private boolean UPDATE_NET_PARAMS = true;//网络参数是否允许修改
    private String WEBSITE = "";//默认网址
    private boolean AFTER_SIGNTASK_PROCESSR_EQUIRE = false;//签到后是否要做处理要求
    private boolean MINUS_PRINT = true;//是否隐藏撤销类交易打印负号
    // 是否有TPDU
    private boolean IS_TPDU = true;
    private boolean SHOW_ORIGINAL_AMOUNT = false;//是否显示输入原交易金额
    private boolean RETURN_GOODS_SWITH = true;//开启退货
    private boolean RETURN_GOODS_MERGE = false;//退货 选择交易渠道时  是否将支付宝,微信，银联等二维码 合并二维码
    private int IS_NEED_PRINT_SECOND = 1;//扫码支付是否支持打印第二联 1.不打印 2.打印
    private boolean IS_PRINT_SCAN_TITLE_IMAGE = true;//是否打印二维码交易标题图片
    private boolean HAS_PREFERENTIAL_AMOUNT = false;//是否有优惠金额
    private boolean PARAM_INIT_QPS_BIN_DOWNLOAD = true;//签到前是否下载双免参数
    private String RETURN_GOODS_INDEX_NAME = "参考号";//退货索引名称
    private boolean RETURN_GOODS_INDEX_REFERNO = true;//退货打印参考号/订单号
    private boolean USE_WECHAT_SCAN = true; //默认打开微信支付,商户扫客户
    private boolean USE_ALIPAY_SCAN = true;//默认打开支付宝支付，商户扫客户
    private boolean USE_WECHAT_QR_CODE = true;//默认打开微信被扫，客户扫商户
    private boolean USE_ALIPAY_QR_CODE = true;//默认打开支付宝被扫，客户扫商户
    //  private String BUILD_TIME = BuildConfig.BUILD_TIME;
    private boolean PRINT_IP_PORT = true;//99--通信参数打印是否打印IP和端口号
    private String SAVE_CODE = "123456";//安全码
    private boolean IS_NEED_SAVE_CODE = true;//是否需要安全码验证
    private boolean FORCE_NFC = false;//默认打开非接优先
    private boolean MANAGER_QR_CODE_SWITCH = true;          // 是否打开管理下面的扫码交易开关
    private boolean CHECK_REVOKE_TRANDE_CARD_NUMBER = true; // 检查反向交易是否检查卡号的开关
    private boolean IS_RETURNGOOD_INPUT_DATE = true;//二维码退货是否需要输入原交易日期
    private boolean USE_UNION_SCAN = true;//默认打开银联扫码，商户扫客户
    private boolean USE_UNION_CODE = true;//默认打开银联被骚，客户扫商户
    private boolean IS_SUPPORT_QRCODE_REFUND = true;//默认支持二维码退货功能
    private boolean IS_SETTING_NEW_INPUT_TYPE = true;//是否设置新的输入方式
    private boolean IS_SHOW_VERSION_NAME_IN_MENU = false;//是否在菜单栏显示版本信息
    private boolean IS_SUPPORT_SIGNATURE = false;//是否电子签名
    private boolean IS_CALCULATOR = true;//是否需要计算器
    private boolean IS_PRINT_SUBTITLE = false;//是否打印副标题
    private boolean IS_SHOW_QR_CODE_PRINT_SALES = false;//是否显示扫码类打印签购单的开关

    public boolean IS_SHOW_QR_CODE_PRINT_SALES() {
        return IS_SHOW_QR_CODE_PRINT_SALES;
    }

    public boolean IS_PRINT_SUBTITLE() {
        return IS_PRINT_SUBTITLE;
    }

    public boolean IS_CALCULATOR() {
        return IS_CALCULATOR;
    }

    public boolean IS_SUPPORT_SIGNATURE() {
        return IS_SUPPORT_SIGNATURE;
    }

    public boolean IS_SHOW_VERSION_NAME_IN_MENU() {
        return IS_SHOW_VERSION_NAME_IN_MENU;
    }

    public boolean IS_SETTING_NEW_INPUT_TYPE() {
        return IS_SETTING_NEW_INPUT_TYPE;
    }

    public boolean USE_UNION_SCAN() {
        return USE_UNION_SCAN;
    }

    public boolean USE_UNION_CODE() {
        return USE_UNION_CODE;
    }

    public boolean isIS_SUPPORT_QRCODE_REFUND() {
        return IS_SUPPORT_QRCODE_REFUND;
    }

    public String TPDU() {
        return TPDU;
    }

    public Configs setTPDU(String TPDU) {
        this.TPDU = TPDU;
        return this;
    }

    public String HOST_IP_ADDRESS() {
        return HOST_IP_ADDRESS;
    }

    public Configs setHOST_IP_ADDRESS(String HOST_IP_ADDRESS) {
        this.HOST_IP_ADDRESS = HOST_IP_ADDRESS;
        return this;
    }

    public String HOST_POST() {
        return HOST_POST;
    }

    public Configs setHOST_POST(String HOST_POST) {
        this.HOST_POST = HOST_POST;
        return this;
    }

    public String SPARE_HOST_IP_ADDRESS() {
        return SPARE_HOST_IP_ADDRESS;
    }

    public Configs setSPARE_HOST_IP_ADDRESS(String SPARE_HOST_IP_ADDRESS) {
        this.SPARE_HOST_IP_ADDRESS = SPARE_HOST_IP_ADDRESS;
        return this;
    }

    public String SPARE_HOST_PORT() {
        return SPARE_HOST_PORT;
    }

    public Configs setSPARE_HOST_PORT(String SPARE_HOST_PORT) {
        this.SPARE_HOST_PORT = SPARE_HOST_PORT;
        return this;
    }

    public String THIRD_SERVER_IP_ADDRESS() {
        return THIRD_SERVER_IP_ADDRESS;
    }

    public Configs setTHIRD_SERVER_IP_ADDRESS(String THIRD_SERVER_IP_ADDRESS) {
        this.THIRD_SERVER_IP_ADDRESS = THIRD_SERVER_IP_ADDRESS;
        return this;
    }

    public String THIRD_SERVER_PORT() {
        return THIRD_SERVER_PORT;
    }

    public Configs setTHIRD_SERVER_PORT(String THIRD_SERVER_PORT) {
        this.THIRD_SERVER_PORT = THIRD_SERVER_PORT;
        return this;
    }

    public String THIRD_SERVER_IP_ADDRESS_BACKUP() {
        return THIRD_SERVER_IP_ADDRESS_BACKUP;
    }

    public Configs setTHIRD_SERVER_IP_ADDRESS_BACKUP(String THIRD_SERVER_IP_ADDRESS_BACKUP) {
        this.THIRD_SERVER_IP_ADDRESS_BACKUP = THIRD_SERVER_IP_ADDRESS_BACKUP;
        return this;
    }

    public String THIRD_SERVER_PORT_BACKUP() {
        return THIRD_SERVER_PORT_BACKUP;
    }

    public Configs setTHIRD_SERVER_PORT_BACKUP(String THIRD_SERVER_PORT_BACKUP) {
        this.THIRD_SERVER_PORT_BACKUP = THIRD_SERVER_PORT_BACKUP;
        return this;
    }

    public boolean AUTO_SWITCH_IP() {
        return AUTO_SWITCH_IP;
    }

    public Configs setAUTO_SWITCH_IP(boolean AUTO_SWITCH_IP) {
        this.AUTO_SWITCH_IP = AUTO_SWITCH_IP;
        return this;
    }

    public boolean USE_BACKUP_IP() {
        return USE_BACKUP_IP;
    }

    public Configs setUSE_BACKUP_IP(boolean USE_BACKUP_IP) {
        this.USE_BACKUP_IP = USE_BACKUP_IP;
        return this;
    }

    public String BASE_URL() {
        return BASE_URL;
    }

    public Configs setBASE_URL(String BASE_URL) {
        this.BASE_URL = BASE_URL;
        return this;
    }

    public String ALIPAY_CONFIG() {
        return ALIPAY_CONFIG;
    }

    public Configs setALIPAY_CONFIG(String ALIPAY_CONFIG) {
        this.ALIPAY_CONFIG = ALIPAY_CONFIG;
        return this;
    }

    public String WECHAT_CONFIG() {
        return WECHAT_CONFIG;
    }

    public Configs setWECHAT_CONFIG(String WECHAT_CONFIG) {
        this.WECHAT_CONFIG = WECHAT_CONFIG;
        return this;
    }

    public boolean SUPPORT_THIRD_HOST() {
        return SUPPORT_THIRD_HOST;
    }

    public Configs setSUPPORT_THIRD_HOST(boolean SUPPORT_THIRD_HOST) {
        this.SUPPORT_THIRD_HOST = SUPPORT_THIRD_HOST;
        return this;
    }

    public String ADMIN_DEFAULT_PASSWORD() {
        return ADMIN_DEFAULT_PASSWORD;
    }

    public Configs setADMIN_DEFAULT_PASSWORD(String ADMIN_DEFAULT_PASSWORD) {
        this.ADMIN_DEFAULT_PASSWORD = ADMIN_DEFAULT_PASSWORD;
        return this;
    }

    public String ACQUIRER_DEFAULT_PRINT() {
        return ACQUIRER_DEFAULT_PRINT;
    }

    public Configs setACQUIRER_DEFAULT_PRINT(String ACQUIRER_DEFAULT_PRINT) {
        this.ACQUIRER_DEFAULT_PRINT = ACQUIRER_DEFAULT_PRINT;
        return this;
    }

    public String MERCHANT_DEFAULT_ENGLISH_NAME() {
        return MERCHANT_DEFAULT_ENGLISH_NAME;
    }

    public Configs setMERCHANT_DEFAULT_ENGLISH_NAME(String MERCHANT_DEFAULT_ENGLISH_NAME) {
        this.MERCHANT_DEFAULT_ENGLISH_NAME = MERCHANT_DEFAULT_ENGLISH_NAME;
        return this;
    }

    public boolean QUERY_LAST_TRANSACTION() {
        return QUERY_LAST_TRANSACTION;
    }

    public Configs setQUERY_LAST_TRANSACTION(boolean QUERY_LAST_TRANSACTION) {
        this.QUERY_LAST_TRANSACTION = QUERY_LAST_TRANSACTION;
        return this;
    }

    public boolean CONSUMPTION_REVOCATION_INPUT_PASSWORD() {
        return CONSUMPTION_REVOCATION_INPUT_PASSWORD;
    }

    public Configs setCONSUMPTION_REVOCATION_INPUT_PASSWORD(boolean CONSUMPTION_REVOCATION_INPUT_PASSWORD) {
        this.CONSUMPTION_REVOCATION_INPUT_PASSWORD = CONSUMPTION_REVOCATION_INPUT_PASSWORD;
        return this;
    }

    public boolean PRE_AUTH_REVOCATION_INPUT_PASSWORD() {
        return PRE_AUTH_REVOCATION_INPUT_PASSWORD;
    }

    public Configs setPRE_AUTH_REVOCATION_INPUT_PASSWORD(boolean PRE_AUTH_REVOCATION_INPUT_PASSWORD) {
        this.PRE_AUTH_REVOCATION_INPUT_PASSWORD = PRE_AUTH_REVOCATION_INPUT_PASSWORD;
        return this;
    }

    public boolean PRE_AUTH_COMPLETE_REVOCATION_INPUT_PASSWORD() {
        return PRE_AUTH_COMPLETE_REVOCATION_INPUT_PASSWORD;
    }

    public Configs setPRE_AUTH_COMPLETE_REVOCATION_INPUT_PASSWORD(boolean PRE_AUTH_COMPLETE_REVOCATION_INPUT_PASSWORD) {
        this.PRE_AUTH_COMPLETE_REVOCATION_INPUT_PASSWORD = PRE_AUTH_COMPLETE_REVOCATION_INPUT_PASSWORD;
        return this;
    }

    public boolean PRE_AUTH_COMPLETE_INPUT_PASSWORD() {
        return PRE_AUTH_COMPLETE_INPUT_PASSWORD;
    }

    public Configs setPRE_AUTH_COMPLETE_INPUT_PASSWORD(boolean PRE_AUTH_COMPLETE_INPUT_PASSWORD) {
        this.PRE_AUTH_COMPLETE_INPUT_PASSWORD = PRE_AUTH_COMPLETE_INPUT_PASSWORD;
        return this;
    }

    public boolean SETTLEMENT_AUTOMATIC_RETURN() {
        return SETTLEMENT_AUTOMATIC_RETURN;
    }

    public Configs setSETTLEMENT_AUTOMATIC_RETURN(boolean SETTLEMENT_AUTOMATIC_RETURN) {
        this.SETTLEMENT_AUTOMATIC_RETURN = SETTLEMENT_AUTOMATIC_RETURN;
        return this;
    }

    public long MAX_RETURN_AMOUNT() {
        return MAX_RETURN_AMOUNT;
    }

    public Configs setMAX_RETURN_AMOUNT(long MAX_RETURN_AMOUNT) {
        this.MAX_RETURN_AMOUNT = MAX_RETURN_AMOUNT;
        return this;
    }

    public String SERIAL_NUM() {
        return SERIAL_NUM;
    }

    public Configs setSERIAL_NUM(String SERIAL_NUM) {
        this.SERIAL_NUM = SERIAL_NUM;
        return this;
    }

    public String BATCHNUM_START() {
        return BATCHNUM_START;
    }

    public Configs setBATCHNUM_START(String BATCHNUM_START) {
        this.BATCHNUM_START = BATCHNUM_START;
        return this;
    }

    public boolean ACQUIRING_BANK_PRINT_CHINESE() {
        return ACQUIRING_BANK_PRINT_CHINESE;
    }

    public Configs setACQUIRING_BANK_PRINT_CHINESE(boolean ACQUIRING_BANK_PRINT_CHINESE) {
        this.ACQUIRING_BANK_PRINT_CHINESE = ACQUIRING_BANK_PRINT_CHINESE;
        return this;
    }

    public boolean ISSUING_BANK_PRINT_CHINESE() {
        return ISSUING_BANK_PRINT_CHINESE;
    }

    public Configs setISSUING_BANK_PRINT_CHINESE(boolean ISSUING_BANK_PRINT_CHINESE) {
        this.ISSUING_BANK_PRINT_CHINESE = ISSUING_BANK_PRINT_CHINESE;
        return this;
    }

    public String PRINT_RECEIPT_SINGLE_NUM() {
        return PRINT_RECEIPT_SINGLE_NUM;
    }

    public Configs setPRINT_RECEIPT_SINGLE_NUM(String PRINT_RECEIPT_SINGLE_NUM) {
        this.PRINT_RECEIPT_SINGLE_NUM = PRINT_RECEIPT_SINGLE_NUM;
        return this;
    }

    public boolean SALES_SLIP_PRINT_ENGLISH() {
        return SALES_SLIP_PRINT_ENGLISH;
    }

    public Configs setSALES_SLIP_PRINT_ENGLISH(boolean SALES_SLIP_PRINT_ENGLISH) {
        this.SALES_SLIP_PRINT_ENGLISH = SALES_SLIP_PRINT_ENGLISH;
        return this;
    }

    public int CORRECT_FREQUENCY() {
        return CORRECT_FREQUENCY;
    }

    public Configs setCORRECT_FREQUENCY(int CORRECT_FREQUENCY) {
        this.CORRECT_FREQUENCY = CORRECT_FREQUENCY;
        return this;
    }

    public int MAX_TRANSACTION_NUMBER() {
        return MAX_TRANSACTION_NUMBER;
    }

    public Configs setMAX_TRANSACTION_NUMBER(int MAX_TRANSACTION_NUMBER) {
        this.MAX_TRANSACTION_NUMBER = MAX_TRANSACTION_NUMBER;
        return this;
    }

    public int NON_CONNECTION() {
        return NON_CONNECTION;
    }

    public Configs setNON_CONNECTION(int NON_CONNECTION) {
        this.NON_CONNECTION = NON_CONNECTION;
        return this;
    }

    public boolean PRINT_NEGATIVE() {
        return PRINT_NEGATIVE;
    }

    public Configs setPRINT_NEGATIVE(boolean PRINT_NEGATIVE) {
        this.PRINT_NEGATIVE = PRINT_NEGATIVE;
        return this;
    }

    public boolean SHIELD_AUTHORIZATION_CARD() {
        return SHIELD_AUTHORIZATION_CARD;
    }

    public Configs setSHIELD_AUTHORIZATION_CARD(boolean SHIELD_AUTHORIZATION_CARD) {
        this.SHIELD_AUTHORIZATION_CARD = SHIELD_AUTHORIZATION_CARD;
        return this;
    }

    public boolean INPUT_DIRECTOR_PWD() {
        return INPUT_DIRECTOR_PWD;
    }

    public Configs setINPUT_DIRECTOR_PWD(boolean INPUT_DIRECTOR_PWD) {
        this.INPUT_DIRECTOR_PWD = INPUT_DIRECTOR_PWD;
        return this;
    }

    public boolean HIDE_MASTER_POS_INPUT_KEY() {
        return HIDE_MASTER_POS_INPUT_KEY;
    }

    public Configs setHIDE_MASTER_POS_INPUT_KEY(boolean HIDE_MASTER_POS_INPUT_KEY) {
        this.HIDE_MASTER_POS_INPUT_KEY = HIDE_MASTER_POS_INPUT_KEY;
        return this;
    }

    public boolean HIDE_CLEAR_SCRIPT_DATA() {
        return HIDE_CLEAR_SCRIPT_DATA;
    }

    public Configs setHIDE_CLEAR_SCRIPT_DATA(boolean HIDE_CLEAR_SCRIPT_DATA) {
        this.HIDE_CLEAR_SCRIPT_DATA = HIDE_CLEAR_SCRIPT_DATA;
        return this;
    }

    public boolean HIDE_BLACKLIST_DATA() {
        return HIDE_BLACKLIST_DATA;
    }

    public Configs setHIDE_BLACKLIST_DATA(boolean HIDE_BLACKLIST_DATA) {
        this.HIDE_BLACKLIST_DATA = HIDE_BLACKLIST_DATA;
        return this;
    }

    public boolean HIDE_SET_DES_ALGORITHM() {
        return HIDE_SET_DES_ALGORITHM;
    }

    public Configs setHIDE_SET_DES_ALGORITHM(boolean HIDE_SET_DES_ALGORITHM) {
        this.HIDE_SET_DES_ALGORITHM = HIDE_SET_DES_ALGORITHM;
        return this;
    }

    public boolean HIDE_PRE_AUTHORIZATION_NOTICE() {
        return HIDE_PRE_AUTHORIZATION_NOTICE;
    }

    public Configs setHIDE_PRE_AUTHORIZATION_NOTICE(boolean HIDE_PRE_AUTHORIZATION_NOTICE) {
        this.HIDE_PRE_AUTHORIZATION_NOTICE = HIDE_PRE_AUTHORIZATION_NOTICE;
        return this;
    }

    public boolean HIDE_PARAMETER_SERVER() {
        return HIDE_PARAMETER_SERVER;
    }

    public Configs setHIDE_PARAMETER_SERVER(boolean HIDE_PARAMETER_SERVER) {
        this.HIDE_PARAMETER_SERVER = HIDE_PARAMETER_SERVER;
        return this;
    }

    public boolean HIDE_PARAMETER_SERVER_PORT() {
        return HIDE_PARAMETER_SERVER_PORT;
    }

    public Configs setHIDE_PARAMETER_SERVER_PORT(boolean HIDE_PARAMETER_SERVER_PORT) {
        this.HIDE_PARAMETER_SERVER_PORT = HIDE_PARAMETER_SERVER_PORT;
        return this;
    }

    public String KEK() {
        return KEK;
    }

    public Configs setKEK(String KEK) {
        this.KEK = KEK;
        return this;
    }

    public boolean INIT_SAVE_KEK() {
        return INIT_SAVE_KEK;
    }

    public Configs setINIT_SAVE_KEK(boolean INIT_SAVE_KEK) {
        this.INIT_SAVE_KEK = INIT_SAVE_KEK;
        return this;
    }

    public boolean CLOSE_PRE_AUTH() {
        return CLOSE_PRE_AUTH;
    }

    public Configs setCLOSE_PRE_AUTH(boolean CLOSE_PRE_AUTH) {
        this.CLOSE_PRE_AUTH = CLOSE_PRE_AUTH;
        return this;
    }

    public boolean CLOSE_REVOCATION() {
        return CLOSE_REVOCATION;
    }

    public Configs setCLOSE_REVOCATION(boolean CLOSE_REVOCATION) {
        this.CLOSE_REVOCATION = CLOSE_REVOCATION;
        return this;
    }

    public boolean PARAMS_INIT_MACHINE() {
        return PARAMS_INIT_MACHINE;
    }

    public Configs setPARAMS_INIT_MACHINE(boolean PARAMS_INIT_MACHINE) {
        this.PARAMS_INIT_MACHINE = PARAMS_INIT_MACHINE;
        return this;
    }

    public boolean PARAMS_INIT_TMK_DOWNLOAD() {
        return PARAMS_INIT_TMK_DOWNLOAD;
    }

    public Configs setPARAMS_INIT_TMK_DOWNLOAD(boolean PARAMS_INIT_TMK_DOWNLOAD) {
        this.PARAMS_INIT_TMK_DOWNLOAD = PARAMS_INIT_TMK_DOWNLOAD;
        return this;
    }

    public boolean PARAMS_INIT_TP_DOWNLOAD() {
        return PARAMS_INIT_TP_DOWNLOAD;
    }

    public Configs setPARAMS_INIT_TP_DOWNLOAD(boolean PARAMS_INIT_TP_DOWNLOAD) {
        this.PARAMS_INIT_TP_DOWNLOAD = PARAMS_INIT_TP_DOWNLOAD;
        return this;
    }

    public boolean PARAMS_INIT_STATE_UPLOAD() {
        return PARAMS_INIT_STATE_UPLOAD;
    }

    public Configs setPARAMS_INIT_STATE_UPLOAD(boolean PARAMS_INIT_STATE_UPLOAD) {
        this.PARAMS_INIT_STATE_UPLOAD = PARAMS_INIT_STATE_UPLOAD;
        return this;
    }

    public boolean PARAMS_INIT_AID_DOWNLOAD() {
        return PARAMS_INIT_AID_DOWNLOAD;
    }

    public Configs setPARAMS_INIT_AID_DOWNLOAD(boolean PARAMS_INIT_AID_DOWNLOAD) {
        this.PARAMS_INIT_AID_DOWNLOAD = PARAMS_INIT_AID_DOWNLOAD;
        return this;
    }

    public boolean PARAMS_INIT_CAPK_DOWNLOAD() {
        return PARAMS_INIT_CAPK_DOWNLOAD;
    }

    public Configs setPARAMS_INIT_CAPK_DOWNLOAD(boolean PARAMS_INIT_CAPK_DOWNLOAD) {
        this.PARAMS_INIT_CAPK_DOWNLOAD = PARAMS_INIT_CAPK_DOWNLOAD;
        return this;
    }

    public String SERVICE_HOT_LINE() {
        return SERVICE_HOT_LINE;
    }

    public Configs setSERVICE_HOT_LINE(String SERVICE_HOT_LINE) {
        this.SERVICE_HOT_LINE = SERVICE_HOT_LINE;
        return this;
    }

    public boolean HIDE_HOT_LINE() {
        return HIDE_HOT_LINE;
    }

    public Configs setHIDE_HOT_LINE(boolean HIDE_HOT_LINE) {
        this.HIDE_HOT_LINE = HIDE_HOT_LINE;
        return this;
    }

    public boolean UPDATE_NET_PARAMS() {
        return UPDATE_NET_PARAMS;
    }

    public Configs setUPDATE_NET_PARAMS(boolean UPDATE_NET_PARAMS) {
        this.UPDATE_NET_PARAMS = UPDATE_NET_PARAMS;
        return this;
    }

    public String WEBSITE() {
        return WEBSITE;
    }

    public Configs setWEBSITE(String WEBSITE) {
        this.WEBSITE = WEBSITE;
        return this;
    }

    public boolean AFTER_SIGNTASK_PROCESSR_EQUIRE() {
        return AFTER_SIGNTASK_PROCESSR_EQUIRE;
    }

    public Configs setAFTER_SIGNTASK_PROCESSR_EQUIRE(boolean AFTER_SIGNTASK_PROCESSR_EQUIRE) {
        this.AFTER_SIGNTASK_PROCESSR_EQUIRE = AFTER_SIGNTASK_PROCESSR_EQUIRE;
        return this;
    }

    public boolean MINUS_PRINT() {
        return MINUS_PRINT;
    }

    public Configs setMINUS_PRINT(boolean MINUS_PRINT) {
        this.MINUS_PRINT = MINUS_PRINT;
        return this;
    }

    public boolean IS_TPDU() {
        return IS_TPDU;
    }

    public Configs setIS_TPDU(boolean IS_TPDU) {
        this.IS_TPDU = IS_TPDU;
        return this;
    }

    public boolean SHOW_ORIGINAL_AMOUNT() {
        return SHOW_ORIGINAL_AMOUNT;
    }

    public Configs setSHOW_ORIGINAL_AMOUNT(boolean SHOW_ORIGINAL_AMOUNT) {
        this.SHOW_ORIGINAL_AMOUNT = SHOW_ORIGINAL_AMOUNT;
        return this;
    }

    public boolean RETURN_GOODS_SWITH() {
        return RETURN_GOODS_SWITH;
    }

    public Configs setRETURN_GOODS_SWITH(boolean RETURN_GOODS_SWITH) {
        this.RETURN_GOODS_SWITH = RETURN_GOODS_SWITH;
        return this;
    }

    public boolean RETURN_GOODS_MERGE() {
        return RETURN_GOODS_MERGE;
    }

    public int IS_NEED_PRINT_SECOND() {
        return IS_NEED_PRINT_SECOND;
    }

    public Configs setIS_NEED_PRINT_SECOND(int IS_NEED_PRINT_SECOND) {
        this.IS_NEED_PRINT_SECOND = IS_NEED_PRINT_SECOND;
        return this;
    }

    public boolean IS_PRINT_SCAN_TITLE_IMAGE() {
        return IS_PRINT_SCAN_TITLE_IMAGE;
    }

    public Configs setIS_PRINT_SCAN_TITLE_IMAGE(boolean IS_PRINT_SCAN_TITLE_IMAGE) {
        this.IS_PRINT_SCAN_TITLE_IMAGE = IS_PRINT_SCAN_TITLE_IMAGE;
        return this;
    }

    public boolean HAS_PREFERENTIAL_AMOUNT() {
        return HAS_PREFERENTIAL_AMOUNT;
    }

    public Configs setHAS_PREFERENTIAL_AMOUNT(boolean HAS_PREFERENTIAL_AMOUNT) {
        this.HAS_PREFERENTIAL_AMOUNT = HAS_PREFERENTIAL_AMOUNT;
        return this;
    }

    public boolean PARAM_INIT_QPS_BIN_DOWNLOAD() {
        return PARAM_INIT_QPS_BIN_DOWNLOAD;
    }

    public Configs setPARAM_INIT_QPS_BIN_DOWNLOAD(boolean PARAM_INIT_QPS_BIN_DOWNLOAD) {
        this.PARAM_INIT_QPS_BIN_DOWNLOAD = PARAM_INIT_QPS_BIN_DOWNLOAD;
        return this;
    }

    public String RETURN_GOODS_INDEX_NAME() {
        return RETURN_GOODS_INDEX_NAME;
    }

    public Configs setRETURN_GOODS_INDEX_NAME(String RETURN_GOODS_INDEX_NAME) {
        this.RETURN_GOODS_INDEX_NAME = RETURN_GOODS_INDEX_NAME;
        return this;
    }

    public boolean USE_WECHAT_SCAN() {
        return USE_WECHAT_SCAN;
    }

    public Configs setUSE_WECHAT_SCAN(boolean USE_WECHAT_SCAN) {
        this.USE_WECHAT_SCAN = USE_WECHAT_SCAN;
        return this;
    }

    public boolean USE_ALIPAY_SCAN() {
        return USE_ALIPAY_SCAN;
    }

    public Configs setUSE_ALIPAY_SCAN(boolean USE_ALIPAY_SCAN) {
        this.USE_ALIPAY_SCAN = USE_ALIPAY_SCAN;
        return this;
    }

    public boolean USE_WECHAT_QR_CODE() {
        return USE_WECHAT_QR_CODE;
    }

    public Configs setUSE_WECHAT_QR_CODE(boolean USE_WECHAT_QR_CODE) {
        this.USE_WECHAT_QR_CODE = USE_WECHAT_QR_CODE;
        return this;
    }

    public boolean USE_ALIPAY_QR_CODE() {
        return USE_ALIPAY_QR_CODE;
    }

    public Configs setUSE_ALIPAY_QR_CODE(boolean USE_ALIPAY_QR_CODE) {
        this.USE_ALIPAY_QR_CODE = USE_ALIPAY_QR_CODE;
        return this;
    }

    public boolean PRINT_IP_PORT() {
        return PRINT_IP_PORT;
    }

    public Configs setPRINT_IP_PORT(boolean PRINT_IP_PORT) {
        this.PRINT_IP_PORT = PRINT_IP_PORT;
        return this;
    }

    public String SAVE_CODE() {
        return SAVE_CODE;
    }

    public Configs setSAVE_CODE(String SAVE_CODE) {
        this.SAVE_CODE = SAVE_CODE;
        return this;
    }

    public boolean IS_NEED_SAVE_CODE() {
        return IS_NEED_SAVE_CODE;
    }

    public Configs setIS_NEED_SAVE_CODE(boolean IS_NEED_SAVE_CODE) {
        this.IS_NEED_SAVE_CODE = IS_NEED_SAVE_CODE;
        return this;
    }

    public boolean FORCE_NFC() {
        return FORCE_NFC;
    }

    public Configs setFORCE_NFC(boolean FORCE_NFC) {
        this.FORCE_NFC = FORCE_NFC;
        return this;
    }

    public boolean MANAGER_QR_CODE_SWITCH() {
        return MANAGER_QR_CODE_SWITCH;
    }

    public Configs setMANAGER_QR_CODE_SWITCH(boolean MANAGER_QR_CODE_SWITCH) {
        this.MANAGER_QR_CODE_SWITCH = MANAGER_QR_CODE_SWITCH;
        return this;
    }

    public boolean CHECK_REVOKE_TRANDE_CARD_NUMBER() {
        return CHECK_REVOKE_TRANDE_CARD_NUMBER;
    }

    public Configs setCHECK_REVOKE_TRANDE_CARD_NUMBER(boolean CHECK_REVOKE_TRANDE_CARD_NUMBER) {
        this.CHECK_REVOKE_TRANDE_CARD_NUMBER = CHECK_REVOKE_TRANDE_CARD_NUMBER;
        return this;
    }

    public boolean IS_RETURNGOOD_INPUT_DATE() {
        return IS_RETURNGOOD_INPUT_DATE;
    }

    public Configs setIS_RETURNGOOD_INPUT_DATE(boolean IS_RETURNGOOD_INPUT_DATE) {
        this.IS_RETURNGOOD_INPUT_DATE = IS_RETURNGOOD_INPUT_DATE;
        return this;
    }

    public boolean isRETURN_GOODS_INDEX_REFERNO() {
        return RETURN_GOODS_INDEX_REFERNO;
    }

    public void setRETURN_GOODS_INDEX_REFERNO(boolean RETURN_GOODS_INDEX_REFERNO) {
        this.RETURN_GOODS_INDEX_REFERNO = RETURN_GOODS_INDEX_REFERNO;
    }
}
